home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / CPBCO.z / CPBCO
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. CCCCPPPPBBBBCCCCOOOO((((3333FFFF))))                                                            CCCCPPPPBBBBCCCCOOOO((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      CPBCO   - CPBCO factors a complex Hermitian positive definite matrix
  10.      stored in band form and estimates the condition of the matrix.
  11.  
  12.      If  RCOND  is not needed, CPBFA is slightly faster.  To solve  A*X = B ,
  13.      follow CPBCO by CPBSL.  To compute  INVERSE(A)*C , follow CPBCO by CPBSL.
  14.      To compute  DETERMINANT(A) , follow CPBCO by CPBDI.
  15.  
  16.  
  17. SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
  18.       SUBROUTINE CPBCO(ABD,LDA,N,M,RCOND,Z,INFO)
  19.  
  20. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  21.      On Entry
  22.  
  23.      AAAABBBBDDDD COMPLEX(LDA, N)
  24.         the matrix to be factored.  The columns of the upper
  25.         triangle are stored in the columns of ABD and the
  26.         diagonals of the upper triangle are stored in the
  27.         rows of ABD .  See the comments below for details.
  28.  
  29.      LLLLDDDDAAAA INTEGER
  30.         the leading dimension of the array  ABD .
  31.         LDA must be .GE. M + 1 .
  32.  
  33.      NNNN INTEGER
  34.         the order of the matrix  A .
  35.  
  36.      MMMM INTEGER
  37.         the number of diagonals above the main diagonal.
  38.         0 .LE. M .LT. N .  On Return
  39.  
  40.      AAAABBBBDDDD an upper triangular matrix  R , stored in band
  41.         form, so that  A = CTRANS(R)*R .
  42.         If  INFO .NE. 0 , the factorization is not complete.
  43.  
  44.      RRRRCCCCOOOONNNNDDDD REAL
  45.         an estimate of the reciprocal condition of  A .
  46.         For the system  A*X = B , relative perturbations
  47.         in  A  and  B  of size  EPSILON  may cause
  48.         relative perturbations in  X  of size  EPSILON/RCOND .
  49.         If  RCOND  is so small that the logical expression
  50.         1.0 + RCOND .EQ. 1.0
  51.         is true, then  A  may be singular to working
  52.         precision.  In particular,  RCOND  is zero  if
  53.         exact singularity is detected or the estimate
  54.         underflows.  If INFO .NE. 0 , RCOND is unchanged.
  55.  
  56.      ZZZZ COMPLEX(N)
  57.         a work vector whose contents are usually unimportant.
  58.         If  A  is singular to working precision, then  Z  is
  59.         an approximate null vector in the sense that
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. CCCCPPPPBBBBCCCCOOOO((((3333FFFF))))                                                            CCCCPPPPBBBBCCCCOOOO((((3333FFFF))))
  71.  
  72.  
  73.  
  74.         NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .
  75.         If  INFO .NE. 0 , Z  is unchanged.
  76.  
  77.      IIIINNNNFFFFOOOO INTEGER
  78.         = 0  for normal return.
  79.         = K  signals an error condition.  The leading minor
  80.         of order  K  is not positive definite.  Band Storage
  81.         If  A  is a Hermitian positive definite band matrix,
  82.         the following program segment will set up the input.
  83.         M = (band width above diagonal)
  84.         DO 20 J = 1, N
  85.         I1 = MAX0(1, J-M)
  86.         DO 10 I = I1, J
  87.         K = I-J+M+1
  88.         ABD(K,J) = A(I,J)
  89.         10    CONTINUE
  90.         20 CONTINUE
  91.         This uses  M + 1  rows of  A , except for the  M by M
  92.         upper left triangle, which is ignored.  Example:  If the original
  93.      matrix is
  94.         11 12 13  0  0  0
  95.         12 22 23 24  0  0
  96.         13 23 33 34 35  0
  97.         0 24 34 44 45 46
  98.         0  0 35 45 55 56
  99.         0  0  0 46 56 66 then  N = 6 , M = 2  and  ABD  should contain
  100.         *  * 13 24 35 46
  101.         * 12 23 34 45 56
  102.         11 22 33 44 55 66 LINPACK.  This version dated 08/14/78 .  Cleve
  103.      Moler, University of New Mexico, Argonne National Lab.  Subroutines and
  104.      Functions LINPACK CPBFA BLAS CAXPY,CDOTC,CSSCAL,SCASUM Fortran
  105.      ABS,AIMAG,AMAX1,CMPLX,CONJG,MAX0,MIN0,REAL
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.